//
//  main.m
//  C9_高级指针
//
//  Created by dllo on 15/10/16.
//  Copyright (c) 2015年 dllo. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "gaojizhizhen.h"

// #define 小白式替换
// typedef 类型重命名


// 命名规范1, k+驼峰命名法  2,纯大写
#define kMaxStuNum 5

#define SUM(A, B) ((A) + (B))   // 完整版本, 括号都括上

#define MUL(A, B) ((A) * (B))

int main(int argc, const char * argv[]) {

//    Student stu = {"chuner", 'm', 99.9, 23};
    
    // 定义结构体类型的指针变量
//    Student *p = NULL;
//    // 指向结构体类型的变量
//    p = &stu;
//    
//    // 通过指针访问结构体变量的成员
//    (*p).age = 24;
//    p->age = 25;
    
//    定义一个点坐标的结构体CPoint，包含两个float 成员x,y。
    
//    定义两个CPoint结构体变量m,n
//    CPoint m = {3, 4};
//    CPoint n = {6, 8};
////    使用两个结构体指针分别指向m,n
////    CPoint *p = &m;
////    CPoint *q = &n;
////    然后通过指针计算两点距离（提示：1、勾股定理，2、开方函数sqrt）
//    float d = distance(m, n);
//    printf("%.2f\n", d);
    
//    Student stu = {"lan ou", 'm', 95.6, 1};
//    Student * p = &stu;
//    请通过p将name成员中的第一个字母改成大写,所有’ ‘(空格)改成下划线’_’
    
//    p->name[0] = 'L';
//    printf("%s\n", p->name);
//    if ('a' <= p->name[0] && p->name[0] <= 'z') {
//        p->name[0] = p->name[0] - 32; // p->name[0] -= 32;
//    }
//    printf("%s\n", p->name);
//
//    for (int i = 0; p->name[i] != '\0'; i++) {
//        if (p->name[i] == ' ') {
//            p->name[i] = '_';
//        }
//    }
//    printf("%s\n", p->name);
    
//    char c = 'z';
//    char b = c - 32;
//    printf("%c", b);
    
//    char *p = stu.name;
//    *p -= 32;
//    printf("%c\n", p[0]);
//    
//    for (int i = 0; p[i] != '\0' ; i++) {
//        if (p[i] == ' ') {
//            p[i] = '_';
//        }
//    }
//    printf("%s", p);
    
//    Student stu[5] = {
//        {"QingC", 'n', 2, 99.9},
//        {"XiaoC", 'm', 6, 96.6},
//        {"XiaoQ", 'n', 23, 77.7},
//        {"XiaoY", 'm', 34, 33.3},
//        {"XiaoQ", 'n', 56, 88.8}
//    };
//    
//    // 结构体类型指针指向结构体数组
////    Student *p = stu;
////    printf("%s",p[1].name);
//    
//    
//    // 值的话用.    地址的话用->
////    (p + 1)->age = 25;
////    (*(p + 1)).age = 26;
////    p[1].age = 27;
////    p++;
////    p->age = 28;
//    
////    使用指针查找学员数组中性别为男的学员,成绩增加10分,超过100分的记为100分)
//    
//    Student *p = stu;
//    for (int i = 0; i < 5; i++) {
//        if (p[i].sex == 'm') {
//            p[i].score += 10;
//            printf("%s %c %d %.2f\n", p[i].name, p[i].sex, p[i].age, p[i].score);
//        }
//    }

//    int ret = SUM(3, 5);
//    printf("%d ", ret);
//
////    int ret = MUL(3, 5 + 2);
////    printf("%d ", ret);
    
    
//#if 1
//    printf("aaaaaaaa");
//#else
//    printf("bbbbbb");
//#endif
    
#ifdef IOS
    printf("IOS");
#else 
    printf("WINDOWS");
#endif
    
    
    
    
    
    
    return 0;
}
